package IO流;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/*
    标准输入、输出流
         System.in和System.out分别代表了系统标准的输入和输出设备
         默认输入设备是:键盘,输出设备是:控制台
         System.in的类型是InputStream
         System.out的类型是PrintStream,其是OutputStream的子类 FilterOutputStream的子类
         重定向:通过System类的setIn,setOut方法对默认设备进行改变
             public static void setIn(InputStream in)
             public static void setOut(PrintStream out)
 */
public class IO05 {

    /*
        从键盘输入字符串,要求将读取到的整行字符串转成大写输出,然后继续进行输入操作,直至当输入"e"或者"exit"时,退出程序
     */
    public static void main(String[] args) {
        BufferedReader bufferedReader = null;
        try {
            InputStreamReader inputStreamReader = new InputStreamReader(System.in);
            bufferedReader = new BufferedReader(inputStreamReader);

            while (true){
                System.out.print("请输入:");

                String data = bufferedReader.readLine();
                if("exit".equalsIgnoreCase(data) || "e".equalsIgnoreCase(data)){
                    System.out.println("程序结束!");
                    break;
                }

                System.out.println(data.toUpperCase());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(bufferedReader != null){
                try {
                    bufferedReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
